package com.example.opengl.player.base

import android.media.MediaFormat
import java.nio.ByteBuffer

/**
 * 定义音视频数据分离器
 */
interface IExtractor {
    /**
     * 获取音视频格式参数
     */
    fun getFormat():MediaFormat?

    /**
     * 读取音视频数据
     */
    fun  readBuffer(byteBuffer: ByteBuffer):Int

    /**
     * 获取当前帧时间
     */
    fun getCurrentTimestamp():Long

    fun getSampleFlag(): Int
    /**
     * Seek到指定位置，并返回时间帧的时机戳
     */
    fun seek(pos:Long):Long

    fun setStartPos(pos: Long)

    /**
     * 停止读取数据
     */
    fun stop()

}
